"""
ConnLLM常量定义
定义包中使用的常量
"""

# 提供商类型分类
REMOTE_PROVIDERS = {
    "anthropic",    # Anthropic 提供商 (Claude模型)
    "openai",       # OpenAI 提供商 (GPT模型)
    "openrouter",   # OpenRouter 提供商 (聚合多个模型)
    "moonshot",     # Moonshot 提供商 (中文模型)
    "ppinfra",      # 鹏程立方 提供商
    "volces",       # Volces 提供商
    # 添加更多远程提供商...
}

LOCAL_PROVIDERS = {
    "ollama",       # Ollama 提供商 (本地运行模型)
    "vllm",         # vLLM 提供商 (本地推理服务)
    # 添加更多本地提供商...
}

# API基础URL
API_BASE_URLS = {
    "anthropic": "https://api.anthropic.com",
    "openai": "https://api.openai.com/v1",
    "openrouter": "https://openrouter.ai/api/v1",
    "moonshot": "https://api.moonshot.cn/v1",
    "ppinfra": "https://www.ppinfra.cn/v1",
    "volces": "https://api.volces.com/v1",
    # 本地提供商默认URL
    "ollama": "http://localhost:11434",
    "vllm": "http://localhost:8000",
}

# 默认timeout设置(秒)
DEFAULT_TIMEOUT = 60

# 默认重试策略
DEFAULT_MAX_RETRIES = 3
DEFAULT_RETRY_DELAY = 1.0

# 默认模型选择
DEFAULT_MODELS = {
    "anthropic": "claude-3-5-sonnet",
    "openai": "gpt-4o",
    "openrouter": "anthropic/claude-3.7-sonnet:thinking", 
    "moonshot": "moonshot-v1-32k",
    "ppinfra": "deepseek/deepseek-v3",
    "volces": "deepseek-v3",
    "ollama": "llama3.3:70b-instruct-q4_K_M"
}
